
#ifndef CSharpLock_h
#define CSharpLock_h

// Forward decleration.
class Mutex;

// This class will wrap the mutex object.
// Uses internal for Riccsson.System library with the 'lock' macro.
class Lock
{
    Mutex* m_mutex;
public:
    Lock(Mutex* p_mutex);
    ~Lock();
};

#endif

// Lock.
#define lock(mm_mutex)													\
    if(bool b = false)													\
		;																\
    else																\
		for(Lock lock(mm_mutex.__getMutex()); !b; b = true)
